package de.mbenning.fsim;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import de.mbenning.fsim.domain.Paarung;
import de.mbenning.fsim.domain.Saison;
import de.mbenning.fsim.domain.Spielplan;
import de.mbenning.fsim.domain.Spieltag;
import de.mbenning.fsim.domain.Verein;
import de.mbenning.fsim.persistence.dao.MainDAO;
import de.mbenning.fsim.persistence.dao.VereinDAO;
import de.mbenning.fsim.persistence.dao.interfaces.IMainDAO;
import de.mbenning.fsim.persistence.dao.interfaces.IVereinDAO;
import de.mbenning.fsim.services.SpielplanService;

public class TestMain {
	public static void main(String[] args) throws Exception {
		
		ApplicationContext ctx = new ClassPathXmlApplicationContext("fsim-persistence.xml");
		IMainDAO mainDAO = (MainDAO)ctx.getBean("mainDAO");
		IVereinDAO vereinDAO = (VereinDAO)ctx.getBean("vereinDAO");
		SpielplanService spielplanService = (SpielplanService) ctx.getBean("spielplanService");
		
		Saison saison = mainDAO.getSaison("2010/2011");
		for(Verein verein : saison.getVereine()) {
			System.out.println(verein.getName());
		}
		
		Spielplan spielplan = spielplanService.generateSpielplan(saison);
		for(Spieltag spieltag : spielplan.getSpieltage()) {
			System.out.println(spieltag.getNummer() + ". Spieltag:\n==========================");
			for(Paarung paarung : spieltag.getPaarungen()) {
				System.out.println(paarung.getHeim().getName() + " - " + paarung.getGast().getName());
			}
			System.out.println("");
		}
		
    }

}
